package com.itmatter.classifier;

import com.enigmastation.classifier.ClassificationListener;
import com.enigmastation.classifier.ClassifierProbability;

/**
 * Based on initial work from ci-bayes-2.1.0-SNAPSHOT-sources
 * @author Daniel Fisla, dfisla@itmatter.com, ITMATTER Inc., http://www.itmatter.com, Copyright 2010, LGPLv3
 */
public interface DBNaiveClassifier extends DBClassifier {

    public double getDocumentProbabilityForCategory(Object item, String category);

    public double getProbabilityForCategory(Object item, String category);

    public String getClassification(Object item, String defaultCat);

    @SuppressWarnings({"SameParameterValue"})
    public void setCategoryThreshold(String cat, double t);

    public double getCategoryThreshold(String cat);

    public ClassifierProbability[] getProbabilities(final Object item);

    public void normalizeProbabilities(ClassifierProbability[] probabilities);

    public String getClassification(Object o);

    //public void addListener(ClassificationListener listener);
}
